#include "xmppcore/protocolkey.h"

namespace yoohoo_xmppcore {

const ProtocolKey ProtocolKey::NULL_PROTOCOL_KEY = ProtocolKey();

ProtocolKey::ProtocolKey(QString localName, QString ns) : _ns(ns), _localName(localName) {
}
	
void ProtocolKey::setNs(QString ns) {
	_ns = ns;
}
	
QString ProtocolKey::namespaceUri() const {
	return _ns;
}
	
void ProtocolKey::setLocalName(QString localName) {
	_localName = localName;
}
	
QString ProtocolKey::localName() const {
	return _localName;
}
	
bool ProtocolKey::operator==(const ProtocolKey& other) const {
	return _ns == other._ns && _localName == other._localName;
}

bool ProtocolKey::isNull() const {
	return _ns.isEmpty() && _localName.isEmpty();
}

uint qHash(const ProtocolKey& protocolKey) {
	return qHash(protocolKey.localName()) + qHash(protocolKey.namespaceUri());
}

}
